Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Cloud-based systems, used in many web-enabled applications, continue to grow in popularity. The datacenters that underpin these cloud-based systems may attempt to provide hardware-agnostic or platform-agnostic services, virtual machines, or instances for flexibility and ease of migration. However, the actual hardware in many datacenters may vary. For example, a datacenter may include processors from different manufacturers, with different processor architectures, different processor types, and/or different processor models.
There are challenges in trying to realize virtualized and load balanced cloud computation. One of the more prominent challenges is that for many important and demanding applications that make intensive use of computing resources, true performance optimization may not just be instruction set reliant but may actually depend on optimization to a particular processor make and model. However, datacenters may not allow users to select their favorite processor for practical reasons. Different processors may provide different amounts of real compute power for the same nominal instance type, so most users may simply select the “best” processor. Another issue is that, users used to picking their favorite processor type may become attached to those processors with processor-specific code making it difficult for datacenters to upgrade to stay competitive (and making it difficult for newer datacenters to attract customers to newer hardware).